/* 文件路径: src/main/resources/style.css (全新淡色主题) */

/* --- Font Definition --- */
@font-face {
    src: url('fonts/JetBrainsMono-Regular.ttf');
}

/* --- Base Styles --- */
.root {
    -fx-font-family: "Microsoft YaHei", sans-serif;
    -fx-base: #F5F7FA; /* A light, soft gray base color */
    -fx-background-color: #FFFFFF;
    -fx-control-inner-background: #FFFFFF;
    -fx-font-size: 14px; /* Increased base font size */
}

/* --- Labels and Text --- */
.label {
    -fx-text-fill: #2c3e50; /* A soft, dark blue-gray for text */
}
.login-title {
    -fx-font-size: 28px;
    -fx-font-weight: bold;
    -fx-text-fill: #3498db; /* A friendly, professional blue */
}
.error-label {
    -fx-text-fill: #e74c3c; /* A clear, strong red */
    -fx-font-weight: bold;
}
.success-label {
    -fx-text-fill: #27ae60; /* A positive, reassuring green */
    -fx-font-weight: bold;
}

/* --- Input Fields (Login Window) --- */
.text-field, .password-field {
    -fx-background-color: #FFFFFF;
    -fx-text-fill: #2c3e50;
    -fx-font-family: "JetBrains Mono", monospace;
    -fx-prompt-text-fill: #bdc3c7;
    -fx-background-radius: 5;
    -fx-border-color: #dce4ec;
    -fx-border-radius: 5;
    -fx-padding: 10px;
    -fx-font-size: 15px; /* Larger font for inputs */
}
.text-field:focused, .password-field:focused {
    -fx-border-color: #3498db;
}

/* --- Toolbar and Buttons --- */
.tool-bar {
    -fx-background-color: #ecf0f1;
    -fx-padding: 8px 10px;
}
.button {
    -fx-background-color: #3498db;
    -fx-text-fill: white;
    -fx-font-weight: bold;
    -fx-background-radius: 5;
    -fx-font-size: 14px;
    -fx-padding: 8px 16px;
}
.button:hover {
    -fx-background-color: #5dade2;
    -fx-cursor: hand;
}
.button .glyph-name-and-size {
    -fx-fill: white;
}

/* --- Code Area (RichTextFX) --- */
.code-area {
    -fx-font-family: "JetBrains Mono", monospace;
    -fx-font-size: 15px; /* Larger font for code */
    -fx-background-color: #fdfdfd;
}
.code-area .paragraph-box:has-caret {
    -fx-background-color: #e8f2fa;
}
.caret {
    -fx-stroke: #2c3e50;
}
.lineno {
    -fx-background-color: #ecf0f1;
    -fx-text-fill: #95a5a6;
    -fx-padding: 0 10px 0 5px;
}

/* --- Syntax Highlighting Styles (Light Theme) --- */
.keyword { -fx-fill: #0000FF; -fx-font-weight: bold; } /* Blue for keywords */
.semicolon { -fx-fill: #3498db; -fx-font-weight: bold; }
.paren, .brace, .bracket { -fx-fill: #2c3e50; }
.string { -fx-fill: #27ae60; } /* Green for strings */
.comment { -fx-fill: #95a5a6; -fx-font-style: italic; } /* Gray for comments */

/* --- Table View --- */
.table-view {
    -fx-background-color: #FFFFFF;
    -fx-border-color: #dce4ec;
}
.table-view .column-header-background {
    -fx-background-color: #ecf0f1;
}
.table-view .column-header, .table-view .filler {
    -fx-background-color: transparent;
    -fx-border-color: #dce4ec;
    -fx-border-width: 0 1px 0 0;
}
.table-view .column-header .label {
    -fx-text-fill: #2c3e50;
    -fx-font-weight: bold;
    -fx-padding: 12px;
}
.table-view .table-cell {
    -fx-border-color: #ecf0f1;
    -fx-border-width: 0 1px 0 0;
    -fx-text-fill: #34495e;
    -fx-padding: 12px;
    -fx-font-size: 13px;
}
.table-view .placeholder .label { -fx-text-fill: #3498db; }
.table-view:focused .table-row-cell:filled:focused:selected {
    -fx-background-color: #aed6f1;
}

/* --- Split Pane --- */
.split-pane-divider {
    -fx-background-color: #dce4ec;
    -fx-padding: 1.5px;
}

/* --- Status Bar --- */
.status-bar {
    -fx-background-color: #ecf0f1;
    -fx-font-size: 14px;
    -fx-border-color: #dce4ec;
    -fx-border-width: 1 0 0 0;
}